/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package projetbi_objets;

import java.util.Date;
import java.util.Objects;

/**
 * Projet BI - M2 FIC 2012-2013
 *
 * @author Jef, Tuan-Long, William, Mohamed
 */
public class OCollaborateur {
    private int idCollaborateur;
    private String nom;
    private String prenom;
    private Date dateDeNaissance;
    private int anneesExp;
    private String titreProfil;
    private int secteurActivite; // 1 == public, 2 == privé
    private int disponibilite; // 0 == disponible, 1 == non disponible

    public OCollaborateur() {
    }

    public OCollaborateur(int idCollaborateur, String nom, String prenom, Date dateDeNaissance, int anneesExp, String titreProfil, int secteurActivite, int disponibilite) {
        this.idCollaborateur = idCollaborateur;
        this.nom = nom;
        this.prenom = prenom;
        this.dateDeNaissance = dateDeNaissance;
        this.anneesExp = anneesExp;
        this.titreProfil = titreProfil;
        this.secteurActivite = secteurActivite;
        this.disponibilite = disponibilite;
    }

    public int getIdCollaborateur() {
        return idCollaborateur;
    }

    public void setIdCollaborateur(int idCollaborateur) {
        this.idCollaborateur = idCollaborateur;
    }

    public String getNom() {
        return nom;
    }

    public void setNom(String nom) {
        this.nom = nom;
    }

    public String getPrenom() {
        return prenom;
    }

    public void setPrenom(String prenom) {
        this.prenom = prenom;
    }

    public Date getDateDeNaissance() {
        return dateDeNaissance;
    }

    public void setDateDeNaissance(Date dateDeNaissance) {
        this.dateDeNaissance = dateDeNaissance;
    }

    public int getAnneesExp() {
        return anneesExp;
    }

    public void setAnneesExp(int anneesExp) {
        this.anneesExp = anneesExp;
    }

    public String getTitreProfil() {
        return titreProfil;
    }

    public void setTitreProfil(String titreProfil) {
        this.titreProfil = titreProfil;
    }

    public int getSecteurActivite() {
        return secteurActivite;
    }

    public void setSecteurActivite(int secteurActivite) {
        this.secteurActivite = secteurActivite;
    }

    public int getDisponibilite() {
        return disponibilite;
    }

    public void setDisponibilite(int disponibilite) {
        this.disponibilite = disponibilite;
    }

    @Override
    public int hashCode() {
        int hash = 7;
        hash = 17 * hash + this.idCollaborateur;
        hash = 17 * hash + Objects.hashCode(this.nom);
        hash = 17 * hash + Objects.hashCode(this.prenom);
        hash = 17 * hash + Objects.hashCode(this.dateDeNaissance);
        hash = 17 * hash + this.anneesExp;
        hash = 17 * hash + Objects.hashCode(this.titreProfil);
        hash = 17 * hash + this.secteurActivite;
        hash = 17 * hash + this.disponibilite;
        return hash;
    }

    @Override
    public boolean equals(Object obj) {
        if (obj == null) {
            return false;
        }
        if (getClass() != obj.getClass()) {
            return false;
        }
        final OCollaborateur other = (OCollaborateur) obj;
        if (this.idCollaborateur != other.idCollaborateur) {
            return false;
        }
        if (!Objects.equals(this.nom, other.nom)) {
            return false;
        }
        if (!Objects.equals(this.prenom, other.prenom)) {
            return false;
        }
        if (!Objects.equals(this.dateDeNaissance, other.dateDeNaissance)) {
            return false;
        }
        if (this.anneesExp != other.anneesExp) {
            return false;
        }
        if (!Objects.equals(this.titreProfil, other.titreProfil)) {
            return false;
        }
        if (this.secteurActivite != other.secteurActivite) {
            return false;
        }
        if (this.disponibilite != other.disponibilite) {
            return false;
        }
        return true;
    }

    
}
